<<<<<<< HEAD
#pragma once
#include <iostream>
#include <vector>
#include <utility> // Include for std::pair
using namespace std;

template <typename T>
class Container
{
private:
    vector<pair<pair<int, int>, T>> message;

public:
    virtual void insert(int a, int b, T name);
    virtual T *find(int a, int b);
};

template <typename T>
void Container<T>::insert(int a, int b, T name)
{
    // 直接创建并插入新的 pair 对象
    message.emplace_back(make_pair(a, b), name);
}

template <typename T>
T *Container<T>::find(int a, int b)
{
    auto to_find_index = make_pair(a, b);
    for (auto &item : message)
    {
        if (item.first == to_find_index)
        {
            // 返回类型 T 的指针，这里假设 T 是一个类类型
            return &item.second;
        }
    }
    return nullptr; // 使用 nullptr 代替 NULL
}
=======
#pragma once
#include <iostream>
#include <vector>
#include <utility> // Include for std::pair
using namespace std;

template <typename T>
class Container
{
private:
    vector<pair<pair<int, int>, T>> message;

public:
    virtual void insert(int a, int b, T name);
    virtual T *find(int a, int b);
};

template <typename T>
void Container<T>::insert(int a, int b, T name)
{
    // 直接创建并插入新的 pair 对象
    message.emplace_back(make_pair(a, b), name);
}

template <typename T>
T *Container<T>::find(int a, int b)
{
    auto to_find_index = make_pair(a, b);
    for (auto &item : message)
    {
        if (item.first == to_find_index)
        {
            // 返回类型 T 的指针，这里假设 T 是一个类类型
            return &item.second;
        }
    }
    return nullptr; // 使用 nullptr 代替 NULL
}
>>>>>>> 3898197 (第四次OJ)
